feat(cli): add shared session rename and streamline IPC - #1877
Merged
Conversation
bobleer
added a commit
that referenced
this pull request
Jul 30, 2026
Switch from createPortal + position:fixed to inline position:absolute, matching the permission-mode popover pattern. Fixes right-alignment, eliminates the horizontal scrollbar on hover, and prevents the menu from occasionally rendering outside the app window.
limityan
force-pushed
the
yanzhn/shared-session-rename
branch
from
July 30, 2026 06:35
7c4b22c to
7657c5f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Outcome
/rename <name>for the current Session in both Embedded and Shared TUI.AgentRuntime::rename_sessionowner and the publicAgentSessionRenameRequest; the private Shared Runtime operation only transports that request.outcome_unknowninstead of a definite failure.Deployment and performance boundaries
The IPC client assigns request IDs without cloning the full operation and validates/serializes an outgoing request before writing it. A pre-send encoding or size failure is therefore reported as not executed and keeps the connection usable; a timeout or disconnect after writing remains an unknown outcome and is not retried automatically.
The architecture document adds concise logical, process, development, physical, and rename-scenario views. It also records why the current local Shared Runtime stays a private TUI transport rather than becoming an SDK or general App Server. This follows the separation used by Codex App Server, the long-running process guidance in Claude Agent SDK hosting, and the distinct server/SDK surfaces in OpenCode.
CLI behavior
/help, the slash menu, and the action registry use one/rename <name>description./renamechosen from the slash menu authorizes only the immediately following matching parameter submission; edits, history navigation, another menu selection, or a Session transition clear that one-use choice.outcome_unknownfact. Shared transport loss also produces that fact and closes the connection.Cross-surface consistency
outcome_unknownthrough existing error adapters rather than flattening it into a generic failure.Deliberate exclusions
Validation
cargo check --workspacecargo test -p bitfun-agent-runtime-ipc— 36 passedcargo test -p bitfun-core title_ --lib— 10 passedcargo test -p bitfun-cli modes::chat::tests— 73 passedcargo test -p bitfun-cli unknown_outcome— 4 passedcargo test -p bitfun-sdk-host unknown_outcome_requires_an_authoritative_read_before_retry— 1 passedcargo test -p bitfun-desktop unknown_— 5 passedgit diff --check gcwing/main— passedThe full local Web run reached 354 passing suites and 2,350 passing tests. Four unrelated Remote Connect suites could not resolve mobile-web dependencies from the reused worktree dependency directory, and one unchanged source-text contract was line-ending-sensitive on Windows. All changed Web paths passed independently.
Two independent adversarial reviews covered the final complete PR after the fixes above. Both reported no remaining P0, P1, or P2 findings.